package com.hbisedm.interninfosys.intern.controller;



import com.alibaba.fastjson.JSON;
import com.hbisedm.interninfosys.commonutils.R;
import com.hbisedm.interninfosys.intern.entity.JdUser;
import com.hbisedm.interninfosys.intern.entity.LastMenu;
import com.hbisedm.interninfosys.intern.entity.Menu;
import com.hbisedm.interninfosys.intern.service.IJdUserService;
import com.hbisedm.interninfosys.intern.service.impl.MenuServiceImpl;
import com.hbisedm.interninfosys.intern.service.impl.RoleServiceImpl;
import com.hbisedm.interninfosys.utils.MenuChangeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author Sam
 * @since 2020-11-01
 */
@RestController
@RequestMapping("/intern/jd-user")
public class JdUserController {
//    @Autowired
//    private IJdUserService JdUserServiceImpl;
//
//    @Autowired
//    private BCryptPasswordEncoder bCryptPasswordEncoder;
//
//    @Autowired
//    private RoleServiceImpl roleService;
//
//    @Autowired
//    private MenuServiceImpl menuService;
//
//
//    @PostMapping("/register")
//    public R registerUser(@RequestBody Map<String,String> registerUser){
//        System.out.println(registerUser.toString());
//        System.out.println(registerUser.get("username"));
//        JdUser user = new JdUser();
//        user.setUsername(registerUser.get("username"));
//        user.setPassword(bCryptPasswordEncoder.encode(registerUser.get("password")));
//        JdUserServiceImpl.save(user);
//        Integer id = user.getId();
//        Boolean save = roleService.saveDefaultUserAndRole(id);
//        if(save) {
//            return R.ok().data("status", "成功");
//        }
//        return R.ok().data("status", "fail");
//    }
//
//
//
//    @GetMapping("/info")
//    public R info() {
//        /**
//         * todo 获取角色信息，以及对应的菜单信息
//         */
//        List<String> currentRole = MenuChangeUtil.getCurrentRole();
//        String root = "管理员";
//        List<Menu> menuList = null;
//        if (root.equals(currentRole.get(0))){
//            menuList = menuService.list();
//        }else {
//
//            /**
//             * todo 获取role_menus表对应的menus
//             */
//        }
//        List<LastMenu> lastMenus = menuService.initMenu(menuList);
//
//        System.out.println(JSON.toJSONString(lastMenus));
//
//
//        return R.ok()
//                .data("name", "admin")
//                .data("companyName", "Hbisedm")
//                .data("employeeid", "11232")
//                .data("menus", lastMenus)
//                .data("roles", currentRole)
//                .data("avatar", "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
//    }
//
//    @GetMapping("/list")
//    public R list() {
//        List<JdUser> list = JdUserServiceImpl.list();
//        return R.ok().data("items", list);
//    }
//
//
//
}
